﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 匿名类
{
    public class 扩展方法
    {
    }

    public class Class1
    {
        public void Study()
        {
            Console.WriteLine("我在学习");
        }
    }

    public static class MethodExtension
    {
        public static void Study(this Class1 par)
        {
            Console.WriteLine("我在学习扩展方法1");
        }

        public static void Study(this Class1 par, int a)
        {
            Console.WriteLine("我在学习扩展方法2");
        }

        public static void Study<T>(this Class1 par1, T par2)
        {
            Console.WriteLine(par2);
        }

        //这么写泛型扩展会导致所有类型都可以调用，不建议
        public static void Study<T>(this T par1)
        {
            Console.WriteLine();
        }
    }
}
